Sensor-based correction of robot-held object

ABSTRACT

A robotic object handling system comprises a robot arm, an image sensor, a first station, and a computing device. The computing device is to cause the robot arm to pick up an object on an end effector, cause the image sensor to generate sensor data of the object, determine at least one of (i) a rotational error of the object or (ii) a positional error of the object based on the sensor data, cause an adjustment to the robot arm to approximately remove at least one of the rotational error or the positional error, and cause the robot arm to place the object at the first station without at least one of the rotational error or the positional error.

RELATED APPLICATIONS

The present application is a continuation of application Ser. No.16/452,091, filed Jun. 25, 2019 the contents of which are incorporatedby reference herein.

TECHNICAL FIELD

Embodiments of the present disclosure relate to detection and correctionof misalignment (e.g., rotational misalignment) of objects picked up bya robot arm.

BACKGROUND

In semiconductor processing and other electronics processing, platformsare often used that use robotic arms to transport objects such as wafersbetween process chambers, from storage areas (e.g., front openingunified pods (FOUPs)) to process chambers, from process chambers tostorage areas, and so on. In many instances, the objects are out ofalignment when they are picked up by an end effector of a robot arm. Theobjects may include a rotational error and/or a positional error whenthey are picked up by an end effector. Traditionally, such misalignmentis corrected by placing the objects into an aligner station that rotatesthe object until it has a correct alignment. The robot arm then picksthe aligned object back up off of the aligner station before moving itto its destination. The use of an aligner station to correct thealignment of objects increases an amount of time that is used totransfer the object between a starting location and a destination andadds an additional handoff (between the aligner station and the robotarm) that can introduce additional error. Additionally, the alignerstation consumes valuable real estate in the platform and in thefabrication facility at which the platform is located and addsadditional cost to the platform. Moreover, for some objects a design ofthe end effector, an adapter for the end effector and/or the objectitself is made to accommodate the aligner station. However, by designingthese components to accommodate the aligner station, the end effector,adapter and/or object design may be less effective for other purposes.

SUMMARY

Some of the embodiments described herein cover a method of aligning anobject. The method may include picking up the object on an end effectorof a robot arm. The object may then be positioned within a detectionarea of a non-contact sensor using the robot arm. Sensor data may begenerated of the object using the non-contact sensor while the object isheld on the end effector of the robot arm. At least one of a rotationalerror of the object relative to a target orientation or a positionalerror of the object relative to a target position may then be determinedbased on the sensor data. The robot arm may be adjusted to approximatelyremove at least one of the rotational error or the positional error fromthe object. The object may then be placed at a first station using therobot arm, wherein the placed object lacks at least one of therotational error or the positional error.

In some embodiments, a robotic object handling system comprises a robotarm comprising an end effector, a non-contact sensor having a detectionarea that is within a reach of the robot arm, a first station that iswithin the reach of the robot arm, and a computing device operativelycoupled to the non-contact sensor and the robot arm. The computingdevice may execute instructions to cause the robot arm to pick up anobject on the end effector. The computing device may further cause therobot arm to position the object within the detection area of thenon-contact sensor. The computing device may further cause thenon-contact sensor to generate sensor data of the object while theobject is held on the end effector of the robot arm. The computingdevice may further determine at least one of a rotational error of theobject relative to a target orientation or a positional error of theobject relative to a target position based on the sensor data. Thecomputing device may further cause an adjustment to the robot arm toapproximately remove at least one of the rotational error or thepositional error from the object. The computing device may further causethe robot arm to place the object at the first station, wherein theplaced object lacks at least one of the rotational error or thepositional error.

In some embodiments, a robotic handling system includes a robot armcomprising an end effector, a first station that is within reach of therobot arm, a second station that is within reach of the robot arm, anon-contact sensor having a detection area that is in the first station,and a computing device operatively coupled to the non-contact sensor andthe robot arm. The computing device may execute instructions to causethe non-contact sensor to generate sensor data of the object while theobject is at the first station. The computing device may furtherdetermine a rotational error of the object relative to a targetorientation based on the sensor data. The computing device may furtherdetermine an angle correction for the object that will approximatelyremove the rotational error of the object. The computing device mayfurther perform the following one or more times until the anglecorrection is achieved for the object: cause the robot arm to pick upthe object from the first station; reposition the end effector; causethe robot arm to place the object back down on the first station usingthe repositioned end effector, the object having a reduced rotationalerror; and again reposition the end effector. The computing device mayfurther cause the robot arm to again pick up the object from the firststation. The computing device may further cause the robot arm to placethe object at the second station, wherein the object placed at thesecond station lacks the rotational error.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings in which likereferences indicate similar elements. It should be noted that differentreferences to “an” or “one” embodiment in this disclosure are notnecessarily to the same embodiment, and such references mean at leastone.

FIG. 1 illustrates a simplified top view of an example processingsystem, according to one aspect of the disclosure.

FIG. 2 depicts a simplified side view of a portion of the processingsystem, according to one aspect of the disclosure.

FIG. 3A illustrates a top view of a misaligned object on an endeffector, according to one aspect of the disclosure.

FIG. 3B illustrates a top view of the object and end effector of FIG.3A, where the end effector has been rotated about an end effector axisto correct the misalignment of the object, according to one aspect ofthe disclosure.

FIG. 4 illustrates a method for correcting misalignment of an object onan end effector of a robot arm, according to one aspect of thedisclosure.

FIG. 5 illustrates an additional method for correcting misalignment ofan object on an end effector of a robot arm, according to one aspect ofthe disclosure.

FIG. 6 illustrates an additional method for correcting misalignment ofan object on an end effector of a robot arm, according to one aspect ofthe disclosure.

FIG. 7 illustrates an additional method for iteratively correctingmisalignment of an object on an end effector of a robot arm, accordingto one aspect of the disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS

Embodiments described herein are related to systems and methods fordetecting misalignment of objects picked up and/or held by robot armsand for correcting such misalignment. In particular, embodiments enablea misalignment of an object picked up by a robot arm to be correctedwithout use of an aligner station. In some embodiments, the misalignmentof the object is correctable while the object is held by the robot arm.In other embodiments, the misalignment of the object is correctable byrepeatedly picking up and replacing the object at a station that lackscomponents for realigning the object (e.g., a passive station).

In some embodiments, a non-contact sensor such as a camera is used alongwith image processing techniques to determine the misalignment of theobject and to determine a rotational correction (e.g., a yaw correction)that will eliminate the misalignment. In an example, the object may be aprocess kit ring to be inserted into a process chamber, and the cameramay generate an image of the process kit ring held on an end effector ofa robot arm. The image may be processed to determine a rotational errorand/or positional error of the process kit ring, and the robot arm maybe adjusted (e.g., by rotating the end effector about an end effectoraxis and/or repositioning the end effector in a plane) to remove therotational error of the process kit ring and/or positional error of theprocess kit ring. The robot arm may then place the process kit ring at astation (e.g., a transfer station) with the adjustment that removed therotational error and/or the positional error.

Use of the non-contact sensor (e.g., an image sensor) and imageprocessing to determine and correct for object misalignment of an objectheld on an end effector of a robot arm may enable an aligner station tobe eliminated from a processing system. This may reduce a total cost ofthe processing system and may free up additional space for otherpurposes. Additionally, by eliminating the aligner station, a number ofhandoffs performed to transfer an object from its starting location toits destination may be reduced, which may increase an accuracy of theplacement of the object at its target location (e.g., in a processchamber) and may reduce an amount of time to transfer the object fromits starting location to its target location. Additionally, byeliminating the aligner station, design constraints imposed by thealigner station may be eliminated, improving an overall design of acarrier for the object.

FIG. 1 illustrates an example processing system 100, according to oneaspect of the disclosure. The processing system 100 includes a factoryinterface 101 to which a plurality of substrate cassettes 102 (e.g.,FOUPs) may be coupled for transferring substrates (e.g., wafers such assilicon wafers) into the processing system 100. The processing system100 may also include first vacuum ports 103 a, 103 b that may couple thefactory interface 101 to respective stations 104 a, 104 b, which may be,for example, degassing chambers and/or load locks. Second vacuum ports105 a, 105 b may be coupled to respective stations 104 a, 104 b anddisposed between the stations 104 a, 104 b and a transfer chamber 106 tofacilitate transfer of substrates into the transfer chamber 106. Thetransfer chamber 106 includes a plurality of processing chambers (alsoreferred to as process chambers) 107 disposed therearound and coupledthereto. The processing chambers 107 are coupled to the transfer chamber106 through respective ports 108, such as slit valves or the like.

The processing chambers 107 may include or more of etch chambers,deposition chambers (including atomic layer deposition, chemical vapordeposition, physical vapor deposition, or plasma enhanced versionsthereof), anneal chambers, and the like. Some of the processing chambers107, such as etch chambers, may include edge rings (also referred to asprocess kit rings) therein, which occasionally undergo replacement.While replacement of process kit rings in conventional systems includesdisassembly of a processing chamber by an operator to replace theprocess kit ring, the processing system 100 is configured to facilitatereplacement of process kit rings without disassembly of a processingchamber 107 by an operator.

Factory interface 101 includes a factory interface robot 111. Factoryinterface robot 111 may include a robot arm, and may be or include aselective compliance assembly robot arm (SCARA) robot, such as a 2 linkSCARA robot, a 3 link SCARA robot, a 4 link SCARA robot, and so on. Thefactory interface robot 111 may include an end effector on an end of therobot arm. The end effector may be configured to pick up and handlespecific objects, such as wafers. Alternatively, the end effector may beconfigured to handle objects such as process kit rings (edge rings). Thefactory interface robot 111 may be configured to transfer objectsbetween cassettes 102 (e.g., FOUPs) and stations 104 a, 104 b.

Transfer chamber 106 includes a transfer chamber robot 112. Transferchamber robot 112 may include a robot arm with an end effector at an endof the robot arm. The end effector may be configured to handleparticular objects, such as wafers. The transfer chamber robot 112 maybe a SCARA robot, but may have fewer links and/or fewer degrees offreedom than the factory interface robot 111 in some embodiments.

In one embodiment, factory interface 101 includes a non-contact sensor130 a. Non-contact sensor 130 a may be an image sensor such as a camera.For example, non-contact sensor 130 a may be or include a charge-coupleddevice (CCD) camera and/or a complementary metal oxide (CMOS) camera.Alternatively, non-contact sensor 130 a may include an x-ray emitter(e.g., an x-ray laser) and an x-ray detector. Non-contact sensor 130 amay alternatively be or include one or more pairs of a laser emitterthat generates a laser beam and a laser receiver that receives the laserbeam. A sensor measurement may be generated by a pair of a laser emitterand a laser receiver when the laser beam is interrupted such that thelaser receiver does not receive the laser beam. Such information may beused together with accurate information on the position of the robot armto generate sensor data, which may be an array of measurements, whereineach measurement corresponds to a different rotation of the end effectoron factory interface robot 111 and/or a different position of thefactory interface robot 111. Non-contact sensor 130 a has a detectionarea 135 a that is within a reach of a robot arm of the factoryinterface robot 111.

In one embodiment, station 104 a and/or station 104 b includes anon-contact sensor 130 b. Non-contact sensor 130 b may correspond to anyof non-contact sensors 130 a listed above in embodiments. Non-contactsensor 130 b has a detection area 135 a that is within station 104 a andthat that is further within a reach of a robot arm of the transferchamber robot 112.

A controller 109 controls various aspects of the processing system 100.The controller 109 may be and/or include a computing device such as apersonal computer, a server computer, a programmable logic controller(PLC), a microcontroller, and so on. The controller 109 may include oneor more processing devices, which may be general-purpose processingdevices such as a microprocessor, central processing unit, or the like.More particularly, the processing device may be a complex instructionset computing (CISC) microprocessor, reduced instruction set computing(RISC) microprocessor, very long instruction word (VLIW) microprocessor,or a processor implementing other instruction sets or processorsimplementing a combination of instruction sets. The processing devicemay also be one or more special-purpose processing devices such as anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), a digital signal processor (DSP), network processor,or the like. The controller 109 may include a data storage device (e.g.,one or more disk drives and/or solid state drives), a main memory, astatic memory, a network interface, and/or other components. Thecontroller 109 may execute instructions to perform any one or more ofthe methodologies and/or embodiments described herein. The instructionsmay be stored on a computer readable storage medium, which may includethe main memory, static memory, secondary storage and/or processingdevice (during execution of the instructions).

The controller 109 may receive signals from and send controls to factoryinterface robot 111, wafer transfer chamber robot 112, non-contactsensor 130 a and/or non-contact sensor 130 b in embodiments.

FIG. 1 schematically illustrates transfer of an edge ring (or otherprocess kit ring) 110 into a processing chamber 107. According to oneaspect of the disclosure, an edge ring 110 is removed from a cassette102 (e.g., a FOUP) via factory interface robot 111 located in thefactory interface 101, or alternatively, is loaded directly into thefactory interface 101. Edge rings are discussed herein, but it should beunderstood that embodiments described with reference to edge rings alsoapply to other process kit rings and to other objects other than rings.

In one embodiment, the factory interface robot 111 positions the edgering 110 within the detection area 135 a of non-contact sensor 130 a(e.g., beneath non-contact sensor 130 a). The non-contact sensor 130 agenerates sensor data of the edge ring 110 (e.g., generates a picture ofthe edge ring). Controller 109 receives the sensor data and analyzes thesensor data (e.g., performs image processing on a received image of theedge ring 110) to determine a rotational error of the edge ring 110relative to a target orientation of the edge ring 110. For example, theedge ring may include a flat, notch or other registration feature, andthe registration feature may have a target orientation relative to theend effector of the factory interface robot 111. Controller 109 maydetermine a rotational error, which may be a rotational angle betweenthe target orientation and a current orientation of the edge ring 110.The controller 109 may send instructions to the factory interface robot111 to cause the factory interface robot 111 to rotate the end effector(and edge ring 110 supported on the end effector) a prescribed amount tocorrect for and eliminate the rotational error. The factory interfacerobot 111 may then place the edge ring 110 into station 104 a or 104 bthrough a vacuum port 103 a, 103 b with the correct orientation.Accordingly, the rotational error of the edge ring 110 may be eliminatedusing the degrees of freedom of the factory interface robot 111 withoutuse of an aligner station.

In some embodiments, the factory interface robot 111 can correct up to athreshold amount of rotational error of the edge ring 110. For example,one factory interface robot 111 may be able to correct up to a 5 degreerotational error, while other factory interface robots 111 may be ableto correct up to a 3 degree rotational error, a 7 degree rotationalerror, or some other amount of rotational error. In some embodiments,the factory interface robot 111 can correct up to a threshold amount ofpositional error of the edge ring 110 (e.g., if the edge ring is pickedup off center). If the detected rotational error is greater than thethreshold amount of rotational error that can be corrected by thefactory interface robot 111, then the factory interface robot 111 mayplace the edge ring 110 at a station (not shown), reposition the endeffector, and then pick back up the edge ring 110 in a manner thateither eliminates the rotational error or reduces the rotational errorso that it is less than or equal to the threshold amount of rotationalerror that can be corrected based on rotation of the end effector.Similarly, if the detected positional error is greater than a thresholdamount of positional error of the edge ring 110 than can be correctedwithout use of a station, then the factory interface robot 111 may placethe edge ring 110 at a station, reposition the end effector, and thenpick back up the edge ring 110 in a manner that either eliminates thepositional error or reduces the positional error so that it is less thanor equal to the threshold amount of positional error that can becorrected based on repositioning the end effector. Additionally, bothrotational error and positional error may be corrected together (e.g.,by rotating and/or repositioning the end effector and/or by placing theedge ring at a station and then picking it back up with a repositionedand/or rotated end effector). In some embodiments, the residualrotational error of the edge ring (which may be 0) after the factoryinterface robot 111 picks back up the edge ring 110 from the station isknown (e.g., based on the known orientation at which the edge ring 110was placed at the station and the known orientation of the end effectorpicking up the edge ring 110). Alternatively, the edge ring 110 mayagain be placed within the detection area 135 a of the non-contactsensor 130 a, and further sensor data may be generated. A newdetermination of rotational error of the edge ring 110 may then bedetermined from the further sensor data, and further angular correctionof the edge ring 110 may be performed as described above. The edge ring110 may then be placed in the station 104 a, 104 b without rotationalerror and/or without positional error (also referred to as translationalerror).

A transfer chamber robot 112 located in the transfer chamber 106 removesthe edge ring 110 from one of the stations 104 a, 104 b through a secondvacuum port 105 a or 105 b. The transfer chamber robot 112 moves theedge ring 110 (which at this point has the correct orientation) into thetransfer chamber 106, where the edge ring 110 may be transferred to adestination processing chamber 107 though a respective port 108.

In some embodiments, non-contact sensor 130 a is not used. Accordingly,factory interface robot 111 may place the edge ring 110 in station 104 awith some amount of misalignment (e.g., a rotational error and/or apositional error). In such an embodiment, station 104 a may includenon-contact sensor 130 b, which may generate sensor data of the edgering 110 (e.g., generate a picture of the edge ring) while the edge ring110 is at station 104 a. Transfer station 104 a may be a load lock orother station with a transparent window at a top of the transfer station104 a. The non-contact sensor 130 b may be an image sensor that cangenerate images of edge rings 110 through the transparent window. Inembodiments, the interior of the station 104 a may be in vacuum, but thenon-contact sensor 104 a may not be in vacuum. Controller 109 receivesthe sensor data and analyzes the sensor data (e.g., performs imageprocessing on a received image of the edge ring 110) to determine arotational error and/or positional error of the edge ring 110 relativeto a target orientation and/or position of the edge ring 110. Controller109 may determine a rotational error, which may be a rotational anglebetween the target orientation and a current orientation of the edgering 110.

The controller 109 may then determine a sequence of pick-ups andplacements of the edge ring 104 a at station 104 a that will eliminatethe rotational error and/or the positional error. Traditionally,transfer chamber robot 112 may pick up objects at approximately theircenter, and objects may be placed at a central location at the station.However, controller 109 may cause transfer chamber robot 112 to pick upthe edge ring 110 (optionally off center), change position slightly,drop off the edge ring 110 at the station off center (at a differentposition than it was picked up from the station 104 a), change positionslightly, pick up the edge ring 110 (optionally off center) again, andso on. With each sequence of picking up, repositioning, and replacingthe edge ring 110 at the station 104 a, a rotation or yaw of the edgering may be adjusted slightly. Additionally, a position of the edge ringmay be adjusted slightly. Accordingly, a sequence of pick-ups and dropoffs may be performed to correct a detected rotational error and/orpositional error. Once the rotational error is corrected and/or thepositional error is corrected, transfer chamber robot 112 removes theedge ring 110 from station 104 a through a second vacuum port 105 a. Thetransfer chamber robot 112 moves the edge ring 110 (which at this pointhas the correct orientation) into the transfer chamber 106, where theedge ring 110 may be transferred to a desired processing chamber 107though a respective port 108.

While not shown for clarity in FIG. 1 , transfer of the edge ring 110may occur while the edge ring 110 is positioned on a carrier or adapter,and the end effectors may pick up and place the carrier or adapter thatholds the edge ring 110. This may enable an end effector that isconfigured for handling of wafers to be used to also handle the edgering 110.

FIG. 1 illustrates one example of edge ring transfer, however, otherexamples are also contemplated. For example, edge rings may be loaded ina substrate support pedestal (SSP). An additional SSP may be positionedin communication with the factory interface 101 opposite the illustratedSSP.

It is contemplated that a processed edge ring 110 may be removed fromthe processing system 100 in reverse of any manner described herein. Forsuch a process, a carrier designed to hold edge ring 110 may be removedfrom a cassette 102 by factory interface robot 111. The factoryinterface robot 110 may position the empty carrier within the area ofdetection 135 b of non-contact sensor 130 a. Sensor data may then begenerated, and controller 109 may analyze the sensor data to determinean orientation of the carrier and to determine whether the carrier hasany rotational error and/or positional error. If the carrier hasrotational error, then the rotational error may be corrected asdescribed above. Similarly, if the carrier has positional error, thenthe positional error may be corrected as described above. The carrierwith the corrected orientation and/or position may then be placed atstation 104 a, 104 b and removed by transfer chamber robot 110 forinsertion into a processing chamber 107. A used edge ring 110 may thenbe placed on the carrier, which may then be transferred back throughstation 104 a, 104 b and into a cassette 102 via handling by transferchamber robot 112 and factory interface robot 111.

Additionally, or alternatively, the carrier may be placed in station 104a without having undergone a correction in its orientation and/orposition. In such an embodiment, non-contact sensor 130 b may be used todetermine any rotational error and/or positional error in the carrier,which may than be corrected in the manner described above.

When utilizing two SSPs or multiple cassettes 102, it is contemplatedthat one SSP or cassette 102 may be used for unprocessed edge rings 110,while another SSP or cassette 102 may be used for receiving processededge rings 110.

FIG. 2 depicts a simplified side view of a portion 200 of the processingsystem 100, according to one aspect of the disclosure. In particular,portion 200 of the processing system 100 includes factory interface 101and controller 109. As shown, factory interface robot 111 includes arobot arm 210 having an end effector (also known as a robot blade) 215at an end of the robot arm 210. Supported on the end effector 215 is anedge ring 110. The controller 109 causes the factory interface robot 111to position the edge ring 110 under the non-contact sensor 130 a in thedetection area 135 a of the non-contact sensor 130 a. The non-contactsensor 130 a may then generate sensor data (e.g., one or more images),and send the images to controller 109 for processing as described abovewith reference to FIG. 1 .

FIGS. 1-2 have been described with reference to correction of arotational error and/or positional error of an edge ring 110. However,it should be understood that the same system and techniques describedwith reference to edge rings may also be used to detect and correctrotational error and/or positional error of other objects, such aswafers, display panels, consumable parts for processing chambers, masks,and so on.

FIG. 3A illustrates a top view of a misaligned object on an end effector215 of a robot arm 210, according to one aspect of the disclosure. Themisaligned object may be an edge ring 110, as discussed above. However,the misaligned object may alternatively be a display panel, aphotolithography mask, a wafer (e.g., a semiconductor wafer or siliconwafer), or other object with a target orientation. Typically, the objectwill be a relatively flat object with a height that is orders ofmagnitude smaller than a diameter, length and/or width.

As shown, the edge ring 110 has a registration feature 320, which in theillustrated embodiment is a flat on an inner edge of the edge ring 110.However, other types of registration features may also be used, such asflats at other locations of the edge ring (or other object), fiducialsin the edge ring (or other object), one or more notches in the edge ring(or other object), and so on. As also shown, the registration feature320 is rotated relative to a front of the end effector 215, indicatingthat the edge ring 110 has been placed incorrectly on the end effector215 such that a rotational error is introduced. The factory interfacerobot 111 may have sufficient degrees of freedom to rotate the endeffector 215 (and the edge ring 110 held on the end effector 215) aboutan end effector axis 330. The end effector axis 330 may be an axis(e.g., a vertical axis) that corresponds approximately to a center ofthe edge ring 110 supported by the end effector 215. Accordingly, theend effector 215 and edge ring 110 may be effectively rotated optionallywithout introducing a translational movement (e.g., left, right, front,or back) to the edge ring 110.

FIG. 3B illustrates a top view of the object and end effector 215 ofFIG. 3A, where the end effector 215 and edge ring 110 have been rotatedabout the end effector axis 330 to correct the misalignment of the edgering 110, according to one aspect of the disclosure. The rotation may beperformed after generating sensor data (e.g., image data) using anon-contact sensor such as a camera and then processing the sensor datato determine a rotational error of the edge ring 110.

In some embodiments, edge ring 110 may be supported by a carrier 315.Carrier 315 may be designed to interface both with end effector 215 andwith edge ring 110 and to enable end effector 215 to carry edge ring110. As shown, carrier 315 includes pins 325 that are used to secureedge ring 110. The pins 325 may also act as registration features forcarrier 315. Accordingly, a non-contact sensor as described above maygenerate sensor data of carrier 315 to determine an orientation (andpossibly a rotational error) of the carrier 315. The rotational error ofthe carrier 315 may be eliminated in the same manner as described abovefor the edge ring 110.

As discussed above, the edge ring 110 may have a target orientationrelative to the end effector 215. Additionally, the edge ring 110 mayalso have a target orientation relative to the carrier 315.Specifically, in some embodiments a target orientation of the edge ring110 is to have the flat (registration feature 320) of the edge ring lineup with the pins (registration feature 325) of the carrier 315. In someembodiments, the orientation of the edge ring 110 may not be alignedwith the orientation of the carrier 315. The sensor data from thenon-contact sensor may be used to determine both the orientation of theedge ring 110 and the orientation of the carrier 315. A differencebetween these two orientations (e.g., rotational angles) may then bedetermined by the controller 109. If the difference exceeds a threshold,then controller 109 may determine that the edge ring 110 and carrier 315are not to be used, and the carrier and adapter may be placed back attheir starting location (e.g., back into a FOUP). In some embodiments,if there is a first rotational error of the edge ring 110 relative tothe end effector 215 and a second rotational error of the carrier 315relative to the end effector 215, then the angular correction that isperformed removes the first rotational error rather than the secondrotational error.

FIG. 4-7 are flow diagrams of various embodiments of methods 400-700 forcorrecting misalignment of an object on an end effector of a robot arm.The methods are performed by processing logic that may include hardware(circuitry, dedicated logic, etc.), software (such as is run on ageneral purpose computer system or a dedicated machine), firmware, orsome combination thereof. Some methods 400-600 may be performed by acomputing device, such as controller 109 of FIGS. 1-2 that is in controlof a robot arm and/or a non-contact sensor. For example, processinglogic that performs one or more operations of methods 400-600 mayexecute on controller 109.

For simplicity of explanation, the methods are depicted and described asa series of acts. However, acts in accordance with this disclosure canoccur in various orders and/or concurrently, and with other acts notpresented and described herein. Furthermore, not all illustrated actsmay be performed to implement the methods in accordance with thedisclosed subject matter. In addition, those skilled in the art willunderstand and appreciate that the methods could alternatively berepresented as a series of interrelated states via a state diagram orevents.

FIG. 4 illustrates a method 400 for correcting misalignment of an objecton an end effector of a robot arm, according to one aspect of thedisclosure. At block 410 of method 400, a robot arm picks up an objecton an end effector of the robot arm (e.g., based on instructions from acomputing device). The object may be any of the aforementioned objects,such as a process kit ring. For example, the object may be a process kitring that includes a registration feature that is a flat, where the flatshould have a proper orientation so as to fit into and mate with acorresponding flat on a substrate support assembly onto which theprocess kit ring will be placed.

At block 420, the robot arm positions the object within the detectionarea of a non-contact sensor. For example, the non-contact sensor may bea camera, and the robot arm may position the object within a field ofview of the camera.

At block 430, the non-contact sensor generates sensor data of the objectwhile the object is held on the end effector of the robot arm (e.g.,based on instructions from a computing device).

At block 440, processing logic determines a rotational error of theobject relative to a target orientation of the object and/or determinesa positional error of the object relative to a target position of theobject based on the sensor data. The target orientation may be a targetorientation relative to an orientation of the end effector. Similarly,the target position may be a target position relative to the endeffector.

In some embodiments, the sensor is a camera and the sensor datacomprises one or more images of the object on the end effector. In suchan embodiment, the rotational error and/or positional error of theobject may be determined by performing image processing on the one ormore images. For example, the object may have a known shape and/or mayinclude one or more registration features (e.g., a flat, a notch, afiducial, etc.). The image processing may be performed to determine aposition and/or orientation of the one or more registration features.The position and orientation of the end effector may be known to a highcertainty using, for example, encoders and/or sensors in the robotic armto which the end effector is affixed. Accordingly, the determinedposition and/or orientation of the object relative to the positionand/or orientation of the end effector can be determined.

In one embodiment, a Hough transform is performed to determine therotational error of the object. Using the Hough transform and a priorknowledge of a shape of the object (e.g., a flat on the object),processing logic can determine the location and orientation of the flat.Other standard image processing techniques may also be used to determinethe orientation of the object, such as edge detection, slopecalculation, voting algorithms, the oriented FAST and rotated BRIEF(ORB) image processing technique, and so on.

At block 445, processing logic determines an angle correction for theobject that will approximately or completely remove the rotational errorof the object. At block 450, processing logic causes the robot arm berepositioned to rotate the end effector and achieve the angle correctionand/or correct the positional error. The end effector may be effectivelyrotated about an end effector axis in embodiments.

At block 455, processing logic causes the robot arm to place the objectat a first station (e.g., a transfer station or load lock) using therobot arm having the rotated and/or repositioned end effector. Theplaced object lacks the rotational error and/or the positional error.The correction in the angular error and/or the positional error may beperformed using the degrees of freedom of the robot arm and without theuse of an aligner. In some embodiments, the operations of block 450 andthe operations of block 455 are performed together such that therotation and/or repositioning of the end effector is completed as theobject is moved to the first station. For example, the end effector maybe rotated slightly while it places the object at the first station toprovide the determined angle correction for the object.

Method 400 may improve an accuracy of the orientation (e.g., rotation oryaw) of objects such as edge rings as compared to traditional techniquesfor eliminating rotational error such as the use of aligners.Additionally, method 400 may be used to determine and correct rotationalerror for many different types of objects that may not fit into analigner station. Method 400 enables an aligner station to be eliminatedfrom a processing system (e.g., a wafer handling system). As discussedabove, elimination of an aligner station also has other benefits.

FIG. 5 illustrates an additional method 500 for correcting misalignmentof an object on an end effector of a robot arm, according to one aspectof the disclosure. At block 510 of method 500, a robot arm picks up anobject on an end effector of the robot arm (e.g., based on instructionsfrom a computing device). The object may be any of the aforementionedobjects, such as a process kit ring. At block 520, the robot armpositions the object within the detection area of a non-contact sensor.For example, the non-contact sensor may be a camera, and the robot armmay position the object within a field of view of the camera.

At block 530, the non-contact sensor generates sensor data of the objectwhile the object is held on the end effector of the robot arm (e.g.,based on instructions from a computing device). At block 540, processinglogic determines a rotational error of the object relative to a targetorientation of the object and/or determines a positional error of theobject relative to a target position of the object on the end effector.The target orientation may be a target orientation relative to anorientation of the end effector.

In some embodiments, the sensor is a camera and the sensor datacomprises one or more images of the object on the end effector. In suchan embodiment, the rotational error of the object may be determined byperforming image processing on the one or more images. For example, theobject may have a known shape and/or may include one or moreregistration features (e.g., a flat, a notch, a fiducial, etc.). Theimage processing may be performed to determine an orientation of the oneor more registration features and/or a position of the one or moreregistration features. The position and orientation of the end effectormay be known to a high certainty using, for example, encoders and/orsensors in the robotic arm to which the end effector is affixed.Accordingly, the determined orientation and/or position of the objectrelative to the orientation and/or position of the end effector can bedetermined.

In one embodiment, a Hough transform is performed to determine therotational error of the object. Using the Hough transform and a priorknowledge of a shape of the object (e.g., a flat on the object),processing logic can determine the location and orientation of the flat.Other standard image processing techniques may also be used to determinethe orientation of the object, such as edge detection, slopecalculation, voting algorithms, the oriented FAST and rotated BRIEF(ORB) image processing technique, and so on.

At block 545, processing logic determines an angle correction for theobject that will approximately or completely remove the rotational errorof the object and/or a positional correction that will approximately orcompletely remove the positional error of the object. At block 550,processing logic determines whether the angle correction exceeds a firstthreshold and/or whether the positional correction exceeds a secondthreshold. The first threshold may be based on an amount of rotationthat can be performed about an end effector axis when the end effectoraxis is positioned at a station at which the end effector is to drop offthe object. Some example thresholds are 3 degrees, 4 degrees, 5 degrees,6 degrees, 7 degrees, and so on. If the determined angle correction(which corresponds to the rotational error) exceeds the first threshold,the method may proceed to block 560. Similarly, if the positionalcorrection exceeds the second threshold, the method may proceed to block560. If the determined angle correction is less than or equal to thefirst threshold (and optionally if the positional correction is lessthan or equal to the second threshold), the method may continue to block555.

At block 560, processing logic causes the robot arm to place the objectat a first station. At block 565, the robot arm (and end effector) arerepositioned. The end effector may be repositioned in a manner that willcause the rotational error and/or positional error to be reduced oreliminated once it picks back up the object. At block 570, the robot armpicks up the object from the first station using the repositioned endeffector.

At block 575, processing logic may determine whether the computed anglecorrection has been achieved (such that the rotational error iseliminated) and/or whether the computed positional correction has beenachieved. If the angle correction is achieved and/or the positionalcorrection is achieved, then the method continues to block 575. If thereis residual rotational error and/or residual positional error, then themethod continues to block 578.

At block 578, processing logic determines whether the residualrotational error is less than or equal to the first threshold and/orwhether the residual positional error is less than or equal to thesecond threshold. If the residual rotational error is above the firstthreshold, the method returns to block 560. If the residual error isless than or equal to the first threshold, then it can be correctedusing the degrees of freedom of the robot arm, and the method proceedsto block 555. Similar determinations can be made for the residualpositional error.

At block 555, processing logic causes the robot arm be repositioned torotate the end effector and achieve the angle correction and/or correctthe positional error. The end effector may be effectively rotated aboutan end effector axis in embodiments.

At block 580, processing logic causes the robot arm to place the objectat a second station (e.g., a transfer station or load lock). The placedobject lacks the rotational error. The correction in the angular errormay be performed without the use of an aligner.

FIG. 6 illustrates an additional method 600 for correcting misalignmentof an object on an end effector of a robot arm, according to one aspectof the disclosure. At block 602 of method 600, sensor data of an objectdisposed at a first station is generated using a non-contact sensor(e.g., a camera). At block 605, processing logic determines a rotationalerror of the object relative to a target orientation of the object basedon the sensor data and/or determines a positional error of the objectrelative to a target position of the object based on the sensor data. Atblock 615, processing logic determines an angle correction for theobject that will approximately remove the rotational error of the objectand/or determines a positional correction for the object that willapproximately remove the positional error of the object. Determining theangle correction may include determining a number of pick-ups anddrop-offs of the object using an end effector, as well as positioning ofthe end effector for each pick-up and drop-off, that will correct therotational error. A portion of the angle correction that is achieved foreach pick-up and drop-off may be determined. In the aggregate, themultiple pick-ups and drop-offs of the object at the first station mayeliminate the rotational error and/or the positional error. In someembodiments, only rotational error is corrected. In other embodiments,only positional error is corrected. In still other embodiments, bothangular error and positional error are corrected.

At block 620, a robot arm picks up an object on an end effector of therobot arm (e.g., based on instructions from a computing device). Theobject may be any of the aforementioned objects, such as a process kitring. For example, the object may be a process kit ring that includes aregistration feature that is a flat, where the flat should have a properorientation so as to fit into and mate with a corresponding flat on asubstrate support assembly onto which the process kit ring will beplaced.

At block 630, the robot arm is adjusted to reposition the end effector.At block 640, the object is placed back down at the first station usingthe repositioned end effector. At this point, the object will have aslightly reduced rotational error and/or a slightly reduced positionalerror, which may have been computed at block 615.

At block 650, the end effector is again repositioned. At block 660, theobject is again picked up from the first station using the repositionedend effector.

At block 670, processing logic determines whether the angle correctionhas been achieved (to eliminate the rotational error) and/or whether theposition correction has been achieved. If the angle correction has notbeen achieved, the method returns to block 630, and another round ofpick-ups and drop-offs is performed. If the angle correction isachieved, the method continues to block 680. Similar determinations maybe made for the position correction.

At block 680, processing logic causes the robot arm to place the objectat a second station (e.g., in a process chamber) using the robot arm.The placed object lacks the rotational error and/or the positionalerror. The correction in the rotational error in method 600 may beperformed using a robot arm that lacks a degree of freedom to rotate theobject about an end effector axis of the robot arm's end effector.However, the repeated pick-ups and placements of the object at the firststation provides a virtual degree of freedom to the robot arm, enablingrotational errors that are less than a threshold amount of rotationalerror to be corrected.

FIG. 7 illustrates a method 700 for incrementally correctingmisalignment of an object on an end effector of a robot arm, accordingto one aspect of the disclosure. At block 710 of method 700, a robot armpicks up an object on an end effector of the robot arm (e.g., based oninstructions from a computing device). The object may be any of theaforementioned objects, such as a process kit ring. For example, theobject may be a process kit ring that includes a registration featurethat is a flat, where the flat should have a proper orientation so as tofit into and mate with a corresponding flat on a substrate supportassembly onto which the process kit ring will be placed. The robot armthen positions the object within the detection area of a non-contactsensor. For example, the non-contact sensor may be a camera, and therobot arm may position the object within a field of view of the camera.

At block 715, the non-contact sensor generates sensor data of the objectwhile the object is held on the end effector of the robot arm (e.g.,based on instructions from a computing device).

At block 720, processing logic determines a rotational error of theobject relative to a target orientation of the object and/or determinesa positional error of the object relative to a target position of theobject based on the sensor data. The target orientation may be a targetorientation relative to an orientation of the end effector. Similarly,the target position may be a target position relative to the endeffector.

At block 725, processing logic performs a first correction of thepositional error and/or the rotational error using one or more of thetechniques described above.

At block 730, the robot arm re-positions the object within the detectionarea of a non-contact sensor. At block 735, the non-contact sensorgenerates additional sensor data of the object while the object is heldon the end effector of the robot arm (e.g., based on instructions fromthe computing device).

At block 740, processing logic determines a residual rotational error ofthe object relative to the target orientation of the object and/ordetermines a residual positional error of the object relative to thetarget position of the object based on the sensor data. The robot armmay overshoot or undershoot a target amount of correction for therotation and/or position. For example, the computing device may havedirected the robot arm to rotate the held object by 4 degrees, but therobot arm may have actually rotated the held object by only 3.7 degrees.The second sensor data may detect such inaccuracies and identify anyresidual error.

At block 745, processing logic determines whether the angle correctionand/or position correction was achieved to within a threshold level ofaccuracy (e.g., within 0.1 mm or 0.1 degrees). If the angle and/orpositional correction were corrected to within the target level ofaccuracy, the method may proceed to block 755. If the angle and/orpositional correction were not achieved to within the threshold level ofaccuracy, then the method may continue to block 750.

At block 750, processing logic causes the robot arm to perform a secondcorrection of the residual positional error and/or the residualrotational error. The method may then continue to block 755.Alternatively, the operations of block 740-750 may be repeated one ormore additional times. With each iteration of these operations, theamount of residual error will be less, and thus the amount of correctionto be performed will be less.

At block 755, processing logic causes the robot arm to place the objectat a first station (e.g., a transfer station or load lock) using therobot arm having the rotated and/or repositioned end effector. Theplaced object lacks the rotational error and/or the positional error.The correction in the angular error and/or the positional error may beperformed using the degrees of freedom of the robot arm and without theuse of an aligner.

The preceding description sets forth numerous specific details such asexamples of specific systems, components, methods, and so forth in orderto provide a good understanding of several embodiments of the presentdisclosure. It will be apparent to one skilled in the art, however, thatat least some embodiments of the present disclosure may be practicedwithout these specific details. In other instances, well-knowncomponents or methods are not described in detail or are presented insimple block diagram format in order to avoid unnecessarily obscuringthe present disclosure. Thus, the specific details set forth are merelyexemplary. Particular implementations may vary from these exemplarydetails and still be contemplated to be within the scope of the presentdisclosure.

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment. Thus, the appearances of the phrase “in oneembodiment” or “in an embodiment” in various places throughout thisspecification are not necessarily all referring to the same embodiment.In addition, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or.” When the term “about” or “approximately” is usedherein, this is intended to mean that the nominal value presented isprecise within ±10%.

Although the operations of the methods herein are shown and described ina particular order, the order of operations of each method may bealtered so that certain operations may be performed in an inverse orderso that certain operations may be performed, at least in part,concurrently with other operations. In another embodiment, instructionsor sub-operations of distinct operations may be in an intermittentand/or alternating manner.

It is understood that the above description is intended to beillustrative, and not restrictive. Many other embodiments will beapparent to those of skill in the art upon reading and understanding theabove description. The scope of the disclosure should, therefore, bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

What is claimed is:
 1. A method comprising: picking up an object on an end effector of a robot arm; generating an image of the object using an image sensor while the object is held on the end effector of the robot arm; determining at least one of (i) a rotational error of the object based on an orientation of a registration feature reflected by the image of the object or (ii) a positional error of the object based on a position of the registration feature reflected by the image of the object; adjusting the robot arm to approximately remove at least one of the rotational error or the positional error; and placing the object at a first station using the robot arm without at least one of the rotational error or the positional error.
 2. The method of claim 1, wherein the robot arm comprises one or more joints that enable up to a threshold amount of rotation of the end effector about an end effector axis, the method further comprising: determining an angle correction for the object that will approximately remove the rotational error of the object; wherein adjusting the robot arm to approximately remove the rotational error of the object comprises rotating the end effector of the robot arm to achieve the angle correction, and wherein the placing is performed using the end effector that is rotated to achieve the angle correction.
 3. The method of claim 2, further comprising: determining that the angle correction is less than or equal to the threshold amount of rotation.
 4. The method of claim 1, wherein the robot arm comprises one or more joints that enable up to a threshold amount of rotation of the end effector about an end effector axis, the method further comprising: determining an angle correction for the object that will approximately remove the rotational error of the object; and determining that the angle correction is greater than the threshold amount of rotation; wherein adjusting the robot arm to approximately remove the rotational error from the object comprises performing the following one or more times until a) the angle correction is achieved for the object or b) a residual angular error is less than the threshold amount of rotation of the end effector: placing the object at a second station; repositioning the end effector; and picking up the object from the second station using the repositioned end effector, wherein the object has a lesser rotational error after being picked up from the second station.
 5. The method of claim 4, wherein the object has a lesser positional error after being picked up from the second station.
 6. The method of claim 1, wherein the robot arm comprises one or more joints that enable up to a threshold amount of rotation of the end effector about an end effector axis, and wherein the robot arm is capable of correcting up to a threshold amount of positional error without use of a second station, the method further comprising: determining an angle correction for the object that will approximately remove the rotational error of the object; determining a positional correction that will approximately remove the positional error of the object; determining that at least one of a) the angle correction is greater than the threshold amount of rotation or b) the positional error is greater than the threshold amount of positional error; wherein adjusting the robot arm to approximately remove at least one of the rotational error or the positional error from the object comprises performing the following one or more times: placing the object at a second station; repositioning the end effector; and picking up the object from the second station using the repositioned end effector, wherein the object has at least one of a lesser rotational error or a lesser positional error after being picked up from the second station.
 7. The method of claim 1, wherein the robot arm lacks an ability to rotate the end effector about an end effector axis, the method further comprising: determining an angle correction for the object that will approximately remove the rotational error of the object; wherein adjusting the robot arm to approximately remove the rotational error from the object comprises performing the following one or more times until the angle correction is achieved for the object: placing the object at a second station; repositioning the end effector; and picking up the object from the second station using the repositioned end effector, wherein the object has a lesser rotational error.
 8. The method of claim 7, wherein the object has a lesser positional error after being picked up from the second station.
 9. The method of claim 1, wherein generating the image of the object comprises generating one or more images using the image sensor, and wherein determining the rotational error of the object comprises performing image processing on the one or more images to identify an orientation of at least one of a flat, a notch or a fiducial in the object.
 10. The method of claim 1, wherein the object is attached to a carrier, wherein picking up the object comprises picking up the carrier attached to the object, and wherein placing the object comprises placing the carrier attached to the object, the method further comprising: generating sensor data of the carrier using the image sensor; and determining a rotational error of the carrier based on the sensor data of the carrier.
 11. The method of claim 10, further comprising: comparing the rotational error of the carrier to the rotational error of the object; determining a difference between the rotational error of the carrier and the rotational error of the object based on the comparing; determining whether the difference exceeds a threshold; and placing the object at the first station responsive to determining that the difference does not exceed the threshold.
 12. The method of claim 1, further comprising: picking up, from a first location, a carrier attached to a second object on the end effector of the robot arm; generating new sensor data of the carrier and the object using the image sensor while the carrier is held on the end effector of the robot arm; determining an orientation of the carrier based on the new sensor data; determining an orientation of the second object based on the new sensor data; determining a difference between the orientation of the carrier and the orientation of the object; determining whether the difference exceeds a threshold; and placing the carrier and the object back at the first location responsive to determining that the difference exceeds the threshold.
 13. The method of claim 1, wherein the object comprises a consumable part for a processing chamber.
 14. The method of claim 1, wherein the image sensor comprises a laser emitter that generates a laser beam and a laser receiver that receives the laser beam, wherein generating the image of the object comprises: repeatedly (a) extending the end effector until the object is between the laser emitter and the laser receiver and interrupts the laser beam, causing the laser beam to no longer be received by the laser receiver, and (b) recording one or more parameters of the robot arm at which the object interrupts the laser beam, the one or more parameters comprising a rotation of the end effector and a position of the end effector; generating an array of measurements, wherein each measurement corresponds to a different rotation of the end effector; and determining the rotational angle of the object based on the array of measurements.
 15. The method of claim 1, further comprising performing the following after adjusting the robot arm and before placing the object at a first station: generating an additional image of the object using the image sensor; determining at least one of a residual rotational error of the object or a residual positional error of the object based on the image; and further adjusting the robot arm to approximately remove at least one of the residual rotational error or the residual positional error from the object.
 16. A robotic object handling system, comprising: a robot arm comprising an end effector; an image sensor; a first station; and a computing device operatively coupled to the image sensor and the robot arm, wherein the computing device is to: cause the robot arm to pick up an object on the end effector; cause an image sensor to generate an image of the object while the object is held on the end effector of the robot arm; determine at least one of (i) a rotational error of the object based on an orientation of a registration feature reflected by the image of the object or (ii) a positional error of the object based on a position of the registration feature reflected by the image of the object; cause an adjustment to the robot arm to approximately remove at least one of the rotational error or the positional error; and cause the robot arm to place the object at the first station without at least one of the rotational error or the positional error.
 17. The robotic object handling system of claim 16, wherein the robot arm comprises one or more joints that enable up to a threshold amount of rotation of the end effector about an end effector axis, wherein the computing device is further to: determine an angle correction for the object that will approximately remove the rotational error of the object; wherein causing the adjustment to the robot arm to approximately remove the rotational error from the object comprises rotating the end effector of the robot arm to achieve the angle correction, and wherein the placing is performed using the end effector that is rotated to achieve the angle correction.
 18. The robotic object handling system of claim 17, wherein the computing device is further to: determine that the angle correction is less than or equal to the threshold amount of rotation.
 19. The robotic object handling system of claim 16, wherein the robot arm comprises one or more joints that enable up to a threshold amount of rotation of the end effector about an end effector axis, wherein the computing device is further to: determine an angle correction for the object that will approximately remove the rotational error of the object; and determine that the angle correction is greater than the threshold amount of rotation; wherein causing the adjustment to the robot arm to approximately remove the rotational error from the object comprises performing the following one or more times until a) the angle correction is achieved for the object or b) a residual angular error is less than the threshold amount of rotation of the end effector: placing the object at a second station, the object having an initial position and orientation on the second station; repositioning the end effector; and picking up the object from the second station using the repositioned end effector, wherein the object has a lesser rotational error after being picked up from the second station.
 20. The robotic object handling system of claim 16, wherein generating the image of the object comprises generating one or more images using the image sensor, and wherein determining the rotational error of the object comprises performing image processing on the one or more images to identify an orientation of at least one of a flat, a notch or a fiducial in the object.
 21. The robotic object handling system of claim 16, wherein the object is attached to a carrier, wherein picking up the object comprises picking up the carrier attached to the object, and wherein placing the object comprises placing the carrier attached to the object, wherein the computing device is further to: generate sensor data of the carrier using the image sensor; and determine a rotational error of the carrier based on the sensor data of the carrier.
 22. The robotic object handling system of claim 21, wherein the computing device is further to: compare the rotational error of the carrier to the rotational error of the object; determine a difference between the rotational error of the carrier and the rotational error of the object based on the comparing; determine whether the difference exceeds a threshold; and cause the robotic arm to place the object at the first station responsive to determining that the difference does not exceed the threshold.
 23. A robotic handling system, comprising: a robot arm comprising an end effector; a first station; a second station; an image sensor; and a computing device operatively coupled to the image sensor and the robot arm, wherein the computing device is to: cause the image sensor to generate an image of an object on the end effector while the object is at the first station; determine a rotational error of the object based on an orientation of a registration feature reflected by the image of the object; determine an angle correction for the object that will approximately remove the rotational error; perform the following one or more times until the angle correction is achieved for the object: cause the robot arm to pick up the object from the first station; reposition the end effector; cause the robot arm to place the object back down on the first station using the repositioned end effector, the object having a reduced rotational error; and again reposition the end effector; cause the robot arm to again pick up the object from the first station; and cause the robot arm to place the object at the second station without the rotational error. 